When a computing apparatus is power on, numerous and varied software components are loaded into its RAM (Random Access Memory). As used herein, the term computing apparatus is used synonymously with the terms personal computers, portable personal electronic devices, personal digital assistants (PDA's), and other similarly intended apparatus. As more and more auxiliary devices and functions are integrated into computing apparatuses additional RAM is required to accommodate operating and application system functionality requirements. Further, users continue to demand enhanced functionality of hardware devices, additional software must also be loaded into RAM during device initialization to drive such functionality. As RAM must be validity checked during and after every power on sequence to verify its continuing integrity and associative increase in the time required for RAM validation is often perceived by the user of the apparatus.
It would seem as processors increase in speed, computing apparatuses operating under control of their respective control programs should be able to boot (a.k.a. “load”) faster. However, given the requirements for additional functionality associated with these computing apparatuses and the necessity of ensuring the integrity of RAM processing, such devices require more time than ever to boot (as used herein the term “boot” is used synonymously with the initial program (IPL) of one or more operating system or application program sequence necessary to execute a desired function).
In an associative manner shut down processing or termination processing, given the advances of the art, should require the simple act of minimal cleanup by the operating system resulting in almost immediate shut down of the computing apparatus. However, the status of the present art requires the operating system, or more precisely an operating system or application program processing component associated therewith to attempt to shut down each and every task, and each and every device attached to the computing apparatus to cease operation (even if that task/device is not responding or otherwise presently active in the terminating computer device).
In a number of prior art references, improvements in initial program load time(s) have been asserted. For example, U.S. Pat. No. 5,968,173 entitled “Method and System for Maximizing the Apparent Initial Processing Capability of a Computer” purports to disclose and claim a method and system reduce the apparent time between turning on a computer and making available the computer processing capability. The method and system of the '173 patent includes and states in part “ . . . displaying within a shortened predetermined time period an interface screen that includes a plurality of interface checkpoints and address data relating to application programs associated with the user interface checkpoints. The shortened predetermined time period has a duration substantially shorter than the period associated with booting the associated application programs. In turning off computer, the method and system include generating a shut down command to computer and storing interface screen and any data files that are open at the time of turning off the computer. The interface screen and data files are stored so that upon subsequently turning off the computer, computer displays interface screen in the shortened predetermined time.”
Another example of a prior art reference purporting to accelerate processes associated with initial program load and/or termination processing are disclosed in association with U.S. Pat. No. 6,073,232, entitled “Method for Minimizing a Computer's Initial Program Load Time after a System Reset or a Power-on Using Non-volatile Storage” discloses in part a method for increasing boot speed of a host computer with associated hard disk drive generates a preftech table that contains pointers to disk locations and lengths of the records of an application program requested by the host computer during an initial power-on/reset. During the next power on/reset, before the host computer is ready for data but after the disk drive has completed its reset routine, using the preftech table the disk drive accesses the previously requested data and copies it onto the cache of the disk drive, from where it is transferred to the host computer when the host computer requests it. The preftech table is updated to reflect disk location changes for the various records, or to reflect new records that were requested by the host computer but not found in cache during the previous power-on/reset).
Yet another reference allegedly shortening the time required to “boot” a computer system is found in U.S. Pat. No. 6,098,158, entitled “Software-enabled to Fast Boot” wherein the abstract of said reference discloses a method of generating a boot image and using the boot image to restore a computer system having a processor, an operating system, physical memory, virtual memory and disk storage. The method may be initiated from any particular software application, or at multiple execution points within a particular application. By providing full virtual memory support in the boot image, the computer system may be restored to any predetermined operating state.
U.S. Pat. No. 6,122,677, entitled “Method of Shortening Boot Uptime In a Computer System” purports to disclose a method of configuring peer devices without the unnecessary delay in boot up time using a compatibility bridge and discloses in part, “Upon initiating a configuration cycle, a BIOS initialization scans all peer devices located on the host bus. A watchdog timer times out after a predetermined duration when the intended apparatus fails to respond to the configuration cycle. A bit corresponding to the particular apparatus is set in a scorecard register. The compatibility bridge responds to the configuration cycle after the watchdog time-out period)”
U.S. Pat. No. 5,269,022, entitled “Method and Apparatus for Booting a Computer System by Restoring the Main Memory from a Backup Memory” purports to disclose a method of generating a boot image and using the boot image to restore a computer system having a processor, an operating system, physical memory, virtual memory and disk storage.
U.S. Pat. No. 5,269,022, according to the Abstract stated therein, purportedly discloses, “In a computer system, when the system is first booted in a normal mode, main memory data stored in a main memory immediately after the system is booted, is stored as backup data in a backup memory or the like. A backup flag representing whether or not the backup data can be restored is set and the system is rebooted. When the system is next booted in the normal mode, the backup data stored in the backup memory or the like is restored as the main memory data in the main memory. The backup flag is automatically reset in a maintenance mode.
U.S. Pat. No. 5,710,930, entitled “Apparatus and a Method for Allowing an Operating System of a Computer to Persist Across a Power Off and On Cycle”, wherein said patent's abstract purports to disclose, “A method of allowing an operating system of a computer system to persist across a power off and on cycle is described. The method includes the step of detecting if the computer system is to be powered off. If the computer system is detected to be powered off, the state of the computer system is then preserved by storing data representing the state of the computer system in a designated area of nonvolatile memory of the computer system. A system initialization code of the operating system is then replaced with new system initialization code that branches to restart code that accesses to the designated area of the nonvolatile memory such that when the computer system is again powered on, the restart code accesses the designated area of the nonvolatile memory for the data to restore the computer system to the state before the computer system was powered off.
U.S. Pat. No. 5,797,003, entitled “Quick Access to Computer Applications” wherein the abstract purports to disclose, “In general, in one aspect, the invention features a method for enabling a user of a computer to rapidly begin using an application which had been previously placed in a non-running state. Prior to the time when the application was placed in the non-running state, information defining an image of an interactive screen associated with the application is stored in the memory of the computer and locked to prevent corruption by other running applications. Then, in response to a request from the user to begin using the application, and before the application has been fully loaded into memory and is again running, the image defined by the stored information is displayed to the user. In this way the user is given the impression that the application has become immediately available.
As distinguished from the disclosure and claims of the instant invention, the common deficiency in all of the above-noted prior art references is that each reference expressly or implicitly attempts to restore the computing apparatus to a state reflecting its most recent status prior to shut down or termination processing. Consequently, the common deficiency in all of these references each is that each attempts to restore the computing apparatus to reflect its most recent fully loaded and executing status prior to termination.
Again using the “standard” approach for a boot all memory must first be verified error free and the state of the machine must be loaded from non-volatile random access memory NVRAM (hard drive, flash, etc.). While this approach does reduce time in loading each component from the NVRAM apparatus and integrating it into the operating system, it fails to address or remedy errors in the previously saved image. Had saved information been save incorrectly, if there were errors in software executing at the time it was saved as an image, such errors are routinely loaded back into memory when the apparatus is again activated. Consequently, this flawed methodology requires the computer to be shut down and rebooted yet again after loading the flawed image.
Another flawed approach to enhance boot improvement and termination processing found in the contemporary art is the loading of a memory image to disk once the apparatus has been booted (attempting to minimize the above errors). However, if new software has been loaded, subsequent to this image copy, the computer then must be completely rebooted to recreate a current accurate image of the operating system (as used herein, the term operating system is used synonymously with the term “control program” and relates both to processes associated with initial program load and termination processing as well as dispatching control exercised over application end user oriented programs.